/*
  学习目标：指定详细的返回值类型
 
*/

// 1. 捕获参数的类型
function setNameFn<T>(value: T): { name: T } {
  // 2. 指定返回值的类型
  return { name: value };
}

const obj1 = setNameFn('123'); // {name: string}
// obj1.name.startsWith('123')
const obj2 = setNameFn(123); // {name: number}
// obj.name.to
const obj3 = setNameFn(true); // {name: boolean}
const obj4 = setNameFn({ age: 123 }); // {name: {age: number} }
